Multi-Function Health Monitor

ABSTRACT

A multi-function health monitor is capable of performing a resting 12-lead ECG test, an ECG stress test, a 24-hour holter monitor evaluation and or a 30-day MCT monitoring. Using only 3 electrodes, the multifunction health monitor derives 6 channels (Limb leads &amp; Augmented leads) of data with the noise cancellation (ground) effect of a virtual dynamic RL electrode. An electrode resistivity measurement system quantifies and may compensate for increasing resistance the electrodes and the patient that results from the length of time the electrodes are installed on a patient. The multi-function health monitor can provide data analysis through the gate array as the data is acquired. Data may also be stored for remote analysis as well as for transmission to remote stations upon occurrence of one or more threshold events. Parameters for threshold events may be adjusted remotely to obviate the need for a patient to travel for system adjustment.

RELATED APPLICATIONS

This application claims priority to copending U.S. Provisional patentapplication 61/257,388 filed Nov. 2, 2009.

FIELD OF THE INVENTIONS

The present invention relates generally to the field of portable healthmonitors and more specifically to battery operated multi-function ECGrecorder/transmitters.

BACKGROUND OF THE INVENTIONS

If you or your doctor have concerns about the function of your heart orother similar organ you may embark on a multi-step evaluation that mayinclude many different tests for example a resting 12-lead ECG test, anECG stress test, a 24-hour holter monitor evaluation and or a 30-dayMCOT monitoring. These tests and others utilize many different andspecialized tools due to some of the conflicting requirements of thetests or the equipment. For example, some of the tests must be done in adoctor's office or a hospital or lab because of the cost and powerconsumption of the test tools and it would be unrealistic to conduct a30-day MCOT analysis with the patient confined to the hospital, orworse, the doctors office.

Some of the evaluation tests are also challenging because of thelimitations enforced by the ability of the medical system to deriveadequate compensation for the work necessary. For example, an MCOTmonitor analysis of a patient may be conducted for up to 30 days. Theequipment to perform this monitoring and analysis must be portable, thuslow-power, durable and accurate. The necessity of low-power and durableequipment forces the equipment designers to cut corners on real-timedata analysis. As a result, many false positive events generateexcessive data that requires expensive medical professional time toreview. Thus the doctor ordering the test (and the insurance companylooking over his shoulder) must be cognizant that the test, and theanalysis of the resulting data could cost more that anyone will be paidto perform the test.

SUMMARY

A multi-function health monitor avoids the power hungry microprocessorsthat are becoming ubiquitous in favor of a gate array hardwareimplementation for data gathering, analysis and data encryption. The useof a gate array, complex programmable logic device (CPLD), for dataprocessing minimizes power consumption while enabling fast processing aswell as accommodating many functions with dissimilar analysisalgorithms. The multi-function health monitor is capable of calculatingsix channels or leads of ECG data using only three electrodes connectedto the patient. The lead switching technique calculates six channels ofECG data with the noise cancellation benefits of a right leg feedsystem. Use of only three electrodes makes the multi-function healthmonitor ideal for ambulatory data gathering and to enable better longterm compliance by patients.

A multi-function health (MFH) monitor capable of performing a resting12-lead ECG test, an ECG stress test, a 24-hour holter monitorevaluation and or a 30-day MCOT monitoring as well as providing bothresting and ambulatory blood pressure monitoring would provide a toolfor generating revenue through insurance payments for a single devicethat may be provided to patients through their doctors and or hospitals.

The MFH monitor can provide data analysis through the gate array as thedata is acquired. Data may also be stored for remote analysis as well asfor transmission to remote stations upon occurrence of one or morethreshold events. Parameters for threshold events may be adjustedremotely to obviate the need for a patient to travel for systemadjustment.

The design of the gate array and the data algorithms permits one or moresections of the gate array to be powered off when unused to preventunnecessary power drain. The advanced data algorithms implemented in thehardware of the gate array permits a high level of sophisticated dataprocessing by the remote ambulatory cardiac monitoring system as data isacquired to minimize false events and minimize the requirement forremote data analysis.

A lead resistivity measurement system quantifies and may also compensatefor increasing resistance between an electrode and the patient thatresults from the length of time the electrodes are installed on apatient. This system can also detect and alert to an electrodedisconnected.

These and other features and advantages will become further apparentfrom the detailed description and accompanying figures that follow. Inthe figures and description, numerals indicate the various features ofthe disclosure, like numerals referring to like features throughout boththe drawings and the description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of multifunction health monitor systems withalternate electrode sets and the system network.

FIG. 2 is a schematic diagram of an electrode input.

FIG. 3 is a block diagram of the gate array controller and connectedcomponents of the remote ambulatory cardiac monitoring system of FIG. 1.

FIG. 4 is a block diagram of the timing and data paths of a remoteambulatory cardiac monitoring system.

FIG. 5 is a block diagram for channel derivation from three electrodes.

DETAILED DESCRIPTION OF THE INVENTIONS

In electrocardiography, the word “lead” may refer to either theelectrodes attached to the patient, or, properly, to the voltage orsignal measured between two electrodes. To avoid confusion, “channel” isused to describe the voltage, signal or view from a positive electrodeto a negative electrode across the heart.

Referring now to FIG. 1, remote ambulatory cardiac monitoring system 10is a multi-purpose ECG recorder, arrhythmia detector and alarm, capableof changing its functionality to meet the normal workflow of aCardiologist office. For a patient of concern such as patient 1, acardiologist might first order a resting 12-channel ECG study. If thestudy is negative, then a 24-hour holter would be prescribed next. Ifthe holter study is still negative then a mobile cardiac telemetry (MCT)study might be performed for up to 30 days.

Remote ambulatory cardiac monitoring system 10 can perform all of thesefunctions as individual instruments have done in the past and can changethe way these tests are usually performed. A single instrument can savemoney and improve patient compliance particularly when going from aholter to a MCT recorder because a new apparatus is not necessary.Because of the built-in cellular modem technology, patient demographicand scheduling information can be “pushed” from an EMR or HIS system todevice 10 over a network such as network 11. Conversely, test resultscan automatically be sent back the electronic management system of to a24 hour monitoring service such as remote monitoring service 12.Monitoring system 10 is “smart” in that it automatically adapts to itsintended purpose by detecting the ECG electrode set or other cableinserted into cable socket 14. For example insertion of three electrodecable 16 will cause monitoring system 10 to initiate MCT mode. Insertionof ten electrode cable 17 will cause monitoring system 10 to initiate12-lead EKG mode. Remote ambulatory cardiac monitoring system 10 alsoprovides video tutorials and other information on display screen 18related to electrode connection, specific to the modality and can alsoprovide real-time ECG arrhythmia detection using its built-in hardwareDSP engine in any mode: resting 12-lead; holter; or MCT.

Monitoring system 10 also integrates various ECG-specific functions thatare well-suited for scalable electrocardiogram (ECG) applications. Thedevice can also be used in high-performance, multichannel dataacquisition system by powering down the ECG-specific circuitry in thecontroller.

Referring now to FIG. 3, controller 20 has a highly programmablemultiplexer that allows for temperature, supply, input short, and RLDmeasurements. Additionally, a multiplexer allows any of input electrodelines 21 such as electrode line 21A to be programmed as the patientreference drive. The PGA gain can be chosen from one of seven settings(1, 2, 3, 4, 6, 8, and 12). The ADCs in the device offer data rates from250 SPS to 32 kSPS. Communication to the device is accomplished using anSPI-compatible interface. The device provides four GPIO pins for generaluse. Multiple devices can be synchronized using the START pin.

The internal reference can be programmed to either 2.4V or 4V. Theinternal oscillator generates a 2.048 MHz clock. The versatile right legdrive (RLD) block allows the user to choose the average of anycombination of electrode lines 21 to generate the patient drive signalfor signal noise reduction.

Referring now to FIG. 2, lead-off detection and electrode analysis canbe accomplished either by using a pull-up/pull-down resistor or acurrent source/sink such as the voltage divider formed by electrode 23and reference resistor 24 of electrode input channel 25. A fixed voltageor current is applied at reference point 25R and electrode 23 isconnected at input point 21B. As electrode 23 separates from thepatient's skin and or the electrode adhesive decays, the resistancebetween electrode 23 and the patient will grow relative to referenceresistor 24. Controller 20 can quantify the change of electroderesistance and adjust signal gain to compensate until the electrodeseparates from the patient. Input signal 26 may be analyzed for thecontribution of reference voltage or current at reference point 25R andif signal 26 is entirely the reference voltage or current, a lead-offalarm is initiated.

Monitoring system 10 supports both hardware pace detection and softwarepace detection. The Wilson center terminal (WCT) block can be used togenerate the WCT point of the standard 12-lead ECG.

Remote ambulatory cardiac monitoring system 10 is a multipurpose devicedesigned with the ability to perform: a 3-channel (3-electrode) MobileCardiac Telemetry complete with Arrhythmia Detection and Alarm for up to30 days; a 24-hour or longer 12-channel or 3-channel (5-electrode) ECGHolter study; and a resting 12-channel EKG. The device may be used forpatient in home use with remote clinician data analysis as well as usewithin the office or home setting by a medical professional.

Remote cardiac monitor 10 includes:

1) a single component ECG monitor with an integrated cellular modem and

2) an interface to five independent cable configurations through asingle connector. Monitor 10 automatically changes functionality when aspecific cable with the same form factor is inserted with the followingconfigurations:

-   -   3-wire, ambulatory, snap electrode cable invokes a 1, 2, or        3-channel MCT mode (Lead I, II, III—no anterior views)    -   10-wire, ambulatory, snap electrode cable invokes the Holter        12-channel mode    -   5-wire, ambulatory, snap electrode cable invokes the Holter        3-channel mode by default (up to 7-leads are available with        anterior views); If programmed to do so, the system can        automatically switch to the MCT mode after 24- or more hours    -   10-wire, resting (lengthened for full body), alligator clip        electrode cable invokes the Resting 12-lead EKG mode        (8-channels; Lead III, aVF, aVR, aVL derived)    -   4-wire, USB cable invokes the PC communication service mode.        Cable is interchangeable with ECG lead sets requiring        disconnection from the body before connection to an external        device can be made.

The built-in cellular modem technology pushes and pulls information toand from the device in a HIPAA compliant fashion using the cryptographicprotocol; Transport Layer Security (TLS). Additional data integrity isperformed by Error Correction Coding (ECC) and MD5 hash sums.

Monitor 10 houses a microprocessor for running the algorithm and anapplication specific integrated circuit (ASIC) as controller 20, arechargeable battery, real time ECG arrhythmia detection using built-inhardware DSP engine in any mode, ECG capture circuitry provided by theASIC and the multiple components, GSM/GPRS/EGPRS/WCDMA/HSPA

Upon detection of an arrhythmic or patient-activated event throughactivation of patient, the ECG signal is transmitted wirelessly via thecellular network to a remote monitoring center for additional analysisand intervention by a clinician. When cellular service is unavailable,the event will be stored until such time the cellular network becomesavailable or the patient transmits the data using a land telephone line.

If in the resting 12-lead mode, the device can capture, display, andanalyze 12 channels of ECG for up to 1,024 patients in diagnosticquality. The ECG can be streamed in real-time to a computer wirelesslyvia the 802.15.4 network transceiver to be displayed, printed, andstored. An embedded SQL database is used in monitor 10 for ECG storageand reporting in all modes—MCT, Holter, and resting 12-lead as well asstorage of other data such as blood pressure data.

Conventional 3-lead electrode systems provide a single channelmeasurement with no redundancy. Referring now to FIGS. 1 and 4, the MCTmode of remote ambulatory cardiac monitoring system 10 is initiated byconnection of cable 16 which uses three electrodes, electrodes 16A, 16Band 16C, configured as RA (Right Arm), LA (Left Arm) and LL (Left Leg)to calculate Lead I (channel I), Lead II (channel II), or Lead III(channel III). Controller 20 dynamically substitutes RL (Right Leg)drive 27 for each electrode as it makes a measurement across the othertwo electrodes. This allows the system to function as if it were a fourelectrode system making use of the noise cancellation of the RL output.The RL drive also has an integrated constant current source 29 which canbe momentarily switched on to make an impedance measurement of eachconnected electrode. This allows system to make an immediate lead-off orhigh impedance (HiZ) determination and use the remaining two electrodesto make a single lead measurement. Controller 20 can measure andcalculate six separate data channels (Lead I, Lead II, Lead III, aVL,aVR, and aVF) with the effect of full AC noise cancellation via the RLdrive provided to each of the three electrodes are connected. In thecase of any electrode becoming disconnected, the system will stillfunction as a single channel system.

RL drive 27 sums the ECG signals from two of the three electrodes, theLA, RA, and LL electrodes, and applies the combined signal 180 degreesout of phase and drives the resulting inverted signal, signal 27, backinto the patient for noise cancellation. In MCT mode, remote ambulatorycardiac monitoring system 10 only uses three electrodes such aselectrodes 16A, 16B and 16C, so the fourth electrode (RL) has to replaceone of the limb lead electrodes dynamically. This done by electronicallyswitching the LL input circuitry in ECG instrumentation amplifier 30,shown in FIG. 4, with the RL output drive circuitry. The LA-RA (channelI) measurement orientation is show in FIG. 5 as channel 31. LL Electrodecircuitry is replaced by the RL circuitry.

Controller 20 electronically switches the LA input circuitry in ECGinstrumentation amplifier 30 with the RL output drive circuitry. TheRA-LL (channel II) measurement orientation is shown in FIG. 5 as channel32. LA Electrode circuitry is replaced by the RL circuitry.

Controller 20 next electronically switches the RA input circuitry in theECG instrumentation amplifier with the RL output drive circuitry. TheLA-LL (channel III) measurement orientation is show in FIG. 5 as channel33. RA Electrode circuitry is replaced by the RL circuitry.

The RL drive circuitry sequentially connects from the LL to LA to RA sothe Noise cancellation system functions without the fourth RL electrodebeing necessary. Once the data has been acquired for Lead I, channel 31,and Lead II, channel 32 then Lead III, channel 33 can be derived ormeasured directly. This is possible because Einthoven's Law states thatI+(−II)+III=0. The equation can also be written I+III=II. It is writtenthis way (instead of I−II+III=0). Therefore Lead III is Lead II−Lead I.Now the derived channels, channels 34, 35, and 36 can be calculated:

channel 34,aVR (Lead I+Lead II)/2

channel 35,aVL Lead I−(Lead II/2)

channel 36,aVF Lead II−(Lead I/2)

Lead III Lead II−Lead I

Using only 3 electrodes, electrodes 16A, 16B and 16C it is possible toderive 6 channels (Limb leads & derived leads) of data with the noisecancellation (ground) effect of a virtual dynamic RL electrode.

All ECG signals will be analyzed real-time by the internal algorithm ofcontroller 20. Upon determination of an arrhythmic or patient-activatedevent such as by activation of event button 38, composite ECG data 39will be wirelessly transmitted to a remote Monitoring Center such asmonitoring center 12 for additional analysis and intervention. Ifcellular transmission is not possible, the event will be stored forfuture cellular/TTM/base station transmission such as throughconventional phone 40 or base station 41.

Monitoring device 10 will be equipped with a service center labchangeable flash-based memory 42 in order to record the receiving signalcoming from the sensor and to allow pre and post processing optionsthrough the use of this memory and a mobile database of ECG data andcorresponding event markers. The database will facilitate query andretrieval of specific ECG based on event information, time and date, orother data as desired.

Remote ambulatory cardiac monitoring system 10 will automaticallytransmit the recorded ECG, via cellular technology, to a RemoteManagement System but will also allow patients to use a land line suchas phone 40, plugged into a base station such as base station 41 or heldto the MCT Device in a standard Trans-telephonic way (TTM) asillustrated in FIG. 1, to transmit the data in the case where cellulartransmission is not possible.

Six elements generally influence physicians' decision on which providerto use for a particular ECG monitor:

-   -   Compliance: Ensure greatest amount of quality ECG for analysis    -   Higher Diagnostic Yield: Provide most clinically-relevant        information    -   Technology: Reliable transmission, easy to use, less patient        intervention    -   Reimbursement: highest reimbursement rates for Partner        Physicians    -   Innovation and fashion: Best solution offered for arrhythmia        detection and transmission, including continuous storage and        monitoring. Engaging new technology

Device Overview

Remote ambulatory cardiac monitoring device 10 is a battery-powered,portable and ambulatory, multi-purpose ECG device capable of serving as(1) a resting 12-lead EKG (2) a multi-day Holter recorder and (3) aMobile Cardiac Telemetry (MCT) device with real-time arrhythmia analysisand a cellular modem.

Cardiac monitoring device 10 is designed to be operated by both patientsand medical professionals and has two user-interfaces to address eachtype of user. It can be operated through touch screen 18 andalternatively using 5-button keyboard 44 with complete functionality byeither method.

Cardiac monitoring device 10 has four functional modes of operation:resting 12-lead EKG (medical professionally only); 1-5 day Holterrecorder (patient and medical professional interfaces); 30 day MCToperation (patient, medical professional and service center interfaces);and a USB data transfer mode to download the data stored in memory to apersonal computer for long term storage and to perform a more extensiveanalysis (medical professional only). The built-in cellular modemtechnology allows patient demographic and scheduling information to be“pushed” from an EMR or HIS system to cardiac monitoring device 10.Conversely, the results can automatically be sent back to sameelectronic management system to a 24-hour monitoring service facility.

Cardiac monitoring device 10 is “smart,” automatically adapting to itsintended purpose by detecting the ECG lead set inserted. It alsoprovides embedded video tutorials on hook-up specific to the modalityand can also provide real-time ECG arrhythmia detection using itsbuilt-in hardware DSP engine in any mode: resting 12-lead EKG; Holter;or MCOT.

12-Lead EKG Mode:

Cardiac monitoring device 10 can function as a 12-lead EKG with aspecial 10-wire, alligator-clip, electrode cable lead set. It can be setin “Capture Only” mode or “Capture & Stream” mode.

“Capture Only” mode allows the operator to acquire data in monitor ordiagnostic quality mode and store up to 1024 patients EKG on the device.The EKG can later be transmitted wirelessly or downloaded directly viaUSB to central cardiovascular system computer running receiving andanalysis software 46.

The system is intended as a mobile device which can be carried to thepatient in a medical office or home environment. Each EKG is displayedon display 18 which may be any suitable touch screen display such as a3.2″ TFT color display in high-resolution and all 12 channels are ableto be viewed. There is no EKG interpretive analysis in this mode.

If in the “Capture & Stream” mode, cardiac monitoring device 10 willoperate as in “Capture Only” but also send the EKG wirelessly via802.15.4 transceivers to the central cardiovascular system PC. Cardiacmonitoring device 10 can deliver 3, 6, 12 EKG's, interpretive(continued) analysis and vector loops where the data may be viewed,printed, and stored. Additionally, the data is analyzed in the PC usingautomated ECG analysis and interpretation software library 47.

Holter Mode:

Cardiac monitoring device 10 can function as a Holter with a 3-wire,5-wire, or 10-wire, snap, ambulatory, electrode cable lead set. It canbe set to convert to MCT (30 day ambulatory monitoring) modeautomatically if the Holter is negative after 24 or 48 hours. It can beprogrammed to record 1, 2, 3, or 12 leads up to five days. There are twouser-interfaces available: one designed for the medical professional(Tech Mode) which allows recording configurations to be set and; anotherfor the patient (Patient Mode) with a simplified interface allowingevents and symptoms to be annotated within the device. There is also athird user-interface where low-level system settings can be changedintended for system administrators (Admin Mode). Cardiac monitoringdevice 10 also contains hook-up diagrams and instructional videos to aidin assisting to properly prep and place the electrodes properlydepending on the ECG lead set being used. Additionally, monitoringsystem 10 will perform an impedance test, as discussed above, of theelectrode cable currently connected for validation of the electrodeconnection. The impedance test quantifies the resistance of eachelectrode connection and can compensate for degrading connections thatoccur over time and also provides the ability to detect an electrode offcondition. After connection of the electrodes, all channels of ECG canbe reviewed on display screen 18 by a medical professional.

The device screen is normally blank during recording but will show thetime and date if a key is pressed along with a message stating“Recording”. If “Event” button 38 is pressed, the device will present adrop-down menu for both symptoms and activities. The user may add menuitems with the built-in virtual keyboard through touch screen display 18if desired. The patient also has control over the screen brightness,speaker volume, and the LED indicator.

Furthermore, the patient is not permitted to turn off the device inholter mode. If the “Power” button is held in for more than fiveseconds, a special “Tech Mode” key prompt (EVENT-SELECT), only known tothe medical technician, will need to be entered to complete the powerdown function.

The holter data is also processed and analyzed software library 47.

MCT Mode:

Cardiac monitoring device 10 can also function as a MCT device with a3-wire, snap electrode, ambulatory cable lead set such as cable 16 ofFIG. 1. There are two user-interfaces: one designed for the medicalprofessional which allows recording configurations to be set (Tech Mode)and another for the patient with a simplified interface (Patient Mode)allowing events and symptoms to be annotated within the device andcontrol over the screen brightness, speaker volume, and the LEDindicator. There is also a third user-interface where low-level systemsettings can be changed intended for system administrators (Admin Mode)including patient enrollment, downloading all MCT data, and clearing allmemory.

As in holter mode above, MCT mode also provides hook-up diagrams andinstructional videos as well as performing an impedance test and. Afterthe electrode connection in MCT mode, all channels can be reviewed onthe screen. If a patient electrode connection is performed, no ECG ispresented; only a good or bad electrode connection indication message.

Whenever monitoring device 10 is powered up, the patient enrollment isverified and must be confirmed before the device may be used.

The device screen is normally blank during recording but will show thetime and date if a key is pressed along with a message stating“Recording”. If event button 38 is pressed, device 10 will present adrop-down menu for both symptoms and activities. The user may add menuitems with the built-in virtual keyboard if desired. The system will usethe display screen, and LED indicator, and audible alarms to notify theuser of any messages including a phone number to make a voice call tothe 24-hour monitoring service facility. The service may also postmessages for the patient.

Cardiac monitoring device 10 is programmed with preset triggers andalarms for sinus bradycardia [based ventricular rate], sinus tachycardia[based on ventricular rate], A-Fib, pauses, and heart-block. If triggersare made then the event is just stored in memory and downloaded at theend of the study. If an alarm is made, the event is sent to a 24-hourmonitoring service facility via the cellular modem. The service facilitymay also adjust the triggers and alarms remotely.

Controller 20 is also configured to interact with software algorithmsuch as algorithm 55 to cross check each alarm trigger before initiatingan alarm. Using the sequential connection to data channels discussedabove, an alarm trigger from a data channel will be checked using one ormore other data channels to verify the validity of the alarm trigger.The verification cross-check prevents false positive alarms.

In the case where there is no extended cellular coverage, there is a TTMmethod provided to send events by a conventional (wired) telephone whichrequires no disconnection of the ECG lead set.

Furthermore, the patient is not permitted to turn off the device unlessthe “Power” button is held in for more than five seconds; a softwareconfirmation is made by the user to complete the power down function.This would normally be done to perform battery charging, to bathe orchange electrodes.

USB Connection Mode:

The USB connection mode is performed by medical professionals todownload data from the device or to program the internal settingsincluding patient enrollment. Patients are not permitted to enter thismode.

Hardware Description

Referring now to FIG. 3, the design of cardiac monitoring device 10 isbased on microprocessor 48 such as an Atmel AT92SAM9G20 ARM 9 providingvery low power consumption, (50 mA with all internal peripherals active)and a Field Programmable Gate Array (FPGA) controller 20. Any suitablemicroprocessor and gate array may also be used.

Controller 20 controls the functionality of remote ambulatory cardiacmonitoring device 10 at the lowest level. There are several moduleswithin the system controller 20 and external to the controller. Externalcomponents include: the ECG Amplifier, the Analog to Digital Converter,the Digital Pots for programming offset and gains to the ECG amplifier,3.2″ TFT color Display, a keyboard and touch screen interface for thedisplay, a Real Time Clock, a Zigbee 802.15.4 interface, a Bluetoothinterface, and Accelerometer interface, a Cell Phone interface, CellularSIM card, SDHC flash memory, Power control circuit, Speaker, Microphone,RGB LED indicator, Event and Power Buttons, and microprocessor 48.

Inside system controller 20 there are also a number of modules. They arethe Data Acquisition Module, the Processor Decode module, the SDRAMcontroller module, the Digital Pot control module, the Hardware Watchdogmodule, the Video Control module, the Zigbee Control module, theBluetooth Control module, the Accelerometer Control module and the CellPhone Control module. Each of these modules has the appropriate Registersets to allow total control via microprocessor 48.

-   -   Zigbee transceiver (802.15.4)    -   Bluetooth transceiver    -   Accelerometer    -   Cell phone/GPS    -   Video Controller    -   Touch panel interface.    -   ECG Data Acquisition    -   Battery monitor    -   Digital POTS interface    -   GPIO interface.    -   DSP core interface    -   8051 secondary Microprocessor core    -   Speaker/Microphone interface    -   SDRAM    -   RGB LED registers & control    -   Keyboard button controller    -   System decoder    -   Resource State Machine & 8051 Arbiter    -   8051 Local decoder & Timing Generator    -   System control & Status Registers    -   I2C Serial modules    -   DCM Clock Synthesis    -   Real-Time Clock controller    -   Byte swapper    -   Watch-Dog Timer Control    -   Refresh Controller    -   SRAM Controller

The selection of a suitable processor as microprocessor 48 is based onthe integration of fast ROM and RAM memories and a wide range ofperipherals. A suitable processor will embed a USB Device Port and a USBHost controller. It may also integrate several standard peripherals,such as the USART, SPI, TWI, Timer Counters, Synchronous SerialController, ADC and Multimedia Card Interface. Microprocessor 48 shouldinclude a maximum of six concurrent high bandwidth 32-bit busses, and itshould also feature an external bus interface capable of interfacingwith a wide range of memory devices.

System controller and hardware accelerator block is directly connectedto the External Bus Interface of microprocessor 48. Controller 20 is theinterface controls all aspects of hardware not integrated into theprocessor. The following blocks are implemented internal to thecontroller, and all control and data transfers are via memory mapped I/Ofor setup, control, and processor data transfers.

-   -   Acquire Module. This module controls all aspects of the data        acquisition functionality of the design. This module is        responsible for the acquisition Channel List Control, Frequency        of Scan, Transfer Interrupts, Interrupt Threshold Control,        Analog To Digital SPI interface control, Conversion Control, and        houses the buffering RAM that feeds the SDRAM Interface block.    -   Local Decoder. This module is responsible for the decoding of        processor accesses to all Read/Write registers accessible to the        local processor. It generates all timing and direction control        to all modules within the CORE system controller.    -   Memory Controller. This module directly controls the local SDRAM        in all aspects. The local refresh timer, SDRAM power down and        power saving control, local DMA transfers between the Acquire        block and the SDRAM, Processor access to the SDRAM, (both in        random access and FIFO mode access), arbitration control between        the DMA requests, Video data requests, and the local processor        accesses, and all addresses generated to the SDRAM.    -   Local Watchdog Timer. This module is programmable for general        purpose use in timing for whatever type of wakeup might be        needed based on time.    -   Digital Pot Controller. This module controls all SPI accesses,        Digital Pot selection, timing control, and registering of all        processor accesses to and from the Digital pots.    -   Bluetooth Controller. This module interfaces to the Bluetooth        hardware.    -   ZigBee Controller. This module interfaces to the ZigBee        hardware.    -   Video Controller. This module controls the LCD accesses by the        processor, the raster scan, video data access. All timing        generation and sequencing is controlled from this module to        present whatever graphics are required.    -   Touch Screen Interface. This module controls the capacitive        virtual button interface that allows the user access to setup        and control of the hardware.    -   Accelerometer Interface. This module is a direct processor        access to the 3 axis accelerometer so the display screen        orientation flips on position and detects patient position.

Operations

Remote ambulatory cardiac monitoring system 10 is a multi-purpose ECGrecorder based on a modular approach. Each requirement of functionalityof the design is isolated in its own module, and has a standardintercommunication architecture with other modules of functionality, andthe local processor. At the highest level of description, there areseveral modules within gate array controller 20, and external to thegate array. There are the ECG Amplifier, the Analog to DigitalConverter, the Digital Pots for programming offset and gains to the ECGamplifier, a capacitive touch sense interface for a from panel, thefront panel itself, a Real Time Clock, a Zigbee interface, a Bluetoothinterface, and Accelerometer interface, a Cell Phone interface, and aprocessor interface are all external to the gate array. Gate arraycontroller 20 controls all of these above mentioned modules that areexternal to the gate array.

Inside gate array, controller 20, there are also a number of modules.They are the Data Acquisition Module, the Processor Decode module, theSDRAM controller module, the Digital Pot control module, the HardwareWatchdog module, the Video Control module, the Zigbee Control module,the Bluetooth Control module, the Accelerometer Control module and theCell Phone Control module. Any other suitable control module may also beadded for additional functionality such as blood pressure module 49which captures blood pressure data using ambulatory blood pressure cable50. Each of these modules has the appropriate Register sets to allowtotal control via the local microprocessor.

The design of controller 20 is totally synchronous and supports a singlesoftware controllable clock rate. There are many different VHDL modulesin this design.

Top Level Module (holter_top.vhd)

This is the top level VHDL module. It is a wrapper for all of the othermodules listed above. This module is responsible for all port mapping ofsub-modules. It also contains the system control register, thepotentiometer select register, write/read strobe generation for I/O, Therefresh timer, processor transaction flow control, and resetsynchronization. All other modules to follow, are instantiated withinthis module.

Local Decode Module: (lcl_dec.vhd)

This module is responsible for the decoding local processor accesses tothe FPGA. It is capable of up to 256 word only locations, (16 bits). Theread/write strobe generation is done in the top level module to be usedin conjunction with the output of this module. This decode is based onthe activation of io_acc, signal by hardware, and the processor requestfor read or write. This module also decodes the address space for theSDRAM when CS7 is active. An SDRAM access is only decoded here, and notacted upon. The action is when the SDRAM module sees the decode of SDRAMspace. The decodes are based on a simple 3 state machine.

1. Idle_state: This is where the state machine spends most of its timeuntil an access to the decode module is sensed. When in this state, thehardware is looking for an I/O access. This is done with a comparator.Once detected, the io_acc signal goes active to the state machine, andforces the state machine to put out the hold signal to the processorduring the transition to the next state, decode1. It also latches thechip select lines, and the lower 9 down to 1 bits of address fordecode1.

2. Decode1: This state is entered one clock after the detection of theleading edge of an I/O access. Bits 9 down to 1, (8 bits) are then fedinto a look-up table for decode, the proper decode enables are activatedto the rest of the FPGA, and is unconditionally sent to the next state,decode2.

3. Decode2: This state does an immediate release of the io_holdgenerated on transition from the idle state to decode1. The io_holdsignal is also used by the top level module to form the trailing edge ofa write strobe if it is a write transaction. During a read transaction,the read strobe is generated for the duration of decode. In either case,decode2 waits for the io_acc to clear as a result of the release of theio_hold signal. It then advances back to the starting point, idle state,as soon as the processor terminates the transaction. Transactiontermination is based on the negation of all Chip Selects.

Data Acquisition Module: (acquire.vhd)

This module controls, (after programming), all aspects of the dataacquisition sequence.

The major blocks within this module are:

1. Scan Sequencer

2. Programmable clock divider to program the acquisitions/sec

3. Processor interface

4. A2D SPI interface

5. Pot Selection

6. Wake Up Count Register

7. Memory Threshold Register

8. DMA Count Register.

9. A2D Mux Address

10. Calibration Voltage Select

11. Input Select

12. ADC Pot Select

13. Wake Up Interrupt Generation

14. A2D Converter control

15. A2D SPI Data accesses

16. Conversion Frequency

17. DMA transfers to SDRAM requests

Scan Sequencer

The Scan Sequencer is made up of a 16×5 bit RAM that holds the followingcontrol:

1. Channel to be converted, (bits 3:0)

2. End Sequence Flag, (bit 4)

3. Processor Multiplexer Address

4. Data acquisition sequence address

After the processor loads the desired address into the ProcessorMultiplexer Address register, the required processor access location issetup. When a decode of the scan ram sequencer is decoded on a processoraccess, the value of the Processor Multiplexer Address is sent to theaddress inputs of the scan ram. The Data transaction (read/write), willtake place to the channel location set up previously in the ProcessorMux Address register. This location is one of 16 channels feeding theAnalog to Digital Converter addressed by the Scan Ram.

The Scan Ram Sequencer is simply a four bit counter that incrementsafter every scan. The address, (count), comes from the Scan Sequencerlogic when running. If location 0 of the scan ram wanted to scan channel5, then the processor would set up the Processor Mux Address register to0, and write a 5 into that location. The scan list can be programmed toacquire any channel in any order to provide for maximum flexibility

This RAM is accessed in two different manners. Either the processoraddresses it to read/write the RAM, (Holter_Run=‘0’ andMux_Ctl_Mode=‘1’), or the acquisition control state machine scansequence register, (Holter_run=‘1’).

When in the processor mode of access, the processor accesses this RAM asa Memory Mapped resource. When the local decoder decodes processoraccess to this RAM, the hardware passes the address in the processormultiplexer address register to the address inputs of the scan ram,along with the lower five bits of the system data bus, (sys_dat) to thedata inputs of the RAM, on a write. During a read, the internal sys_datais tri-stated, and the contents of the RAM are put on bits (4:0) for aread access. Based on the read strobe, (rstrb), and write strobe,(wstrb), the data is either read from the RAM to bits (4:0) of thesys_data bus from the address specified in the processor multiplexeraddress, or a write to the same location from sys_data (4:0).

When running, (Holter_Run=‘1’), the address presented to the Scan RAM isfrom the data acquisition state machine, (scan_seq). These accesses arealways reads. At the beginning of a convert cycle, just before theconversion command is given to the A2D converter, the address of thescan sequence is presented to the Scan RAM, and its contents are sent tothe external analog multiplexer that feeds the input to the A2Dconverter. After this, on the next clock, the convert command is given.After the conversion, the scan sequence address is incremented with oneexception. If bit 4 of the Scan RAM contents is ‘1’ for the addressgiven, after the conversion the scan sequencer is reset to “0000”. Thisrestarts the scan list. The Scan list length is programmable. To makethe scan list 1 deep, (then it repeats itself), simply set BIT 4 of thedata, (channel included in the data). BIT 4 of the output of the ScanRam directly resets the counter addressing the scan ram. Therefore, bit4 being set at location zero, will lock the counter at location 0 whenrunning. For a scan list of 2, write BIT 4 of location 1 to a 1. Thiscauses a counter reset when location 1 is accessed allowing the counterto cycle between locations 0 and 1. Writing a 1 to BIT 4 of location 0xFmakes the Scan list 16 long. The scan list can be programmed to acquireany channel in any order to provide for maximum flexibility. For a scanlist of 16, writing the same channel address in all locations would belogically the same as a single length list. All 16 locations would beaccessed, but they would all have the same channel #. This is true forany sequence. This allows the setup to scan one channel more times thananother during a scan run allowing individual channels to be acquired atdifferent sampling rates.

Programmable Clock Divider to Program the Acquisitions/Sec

This is a 16 Bit register that counts 100 ns intervals. Loading thisregister with a 1 would cause an acquisition clock every 200 ns. This isan illegal number and this register should never be loaded with a valueof less than the maximum speed of the A2D converter. Resolution is 100ns. The slowest clock rate is 65535×100 nS, or 1 channel every 6.5546 mSper channel. A scan rate of 1 MHz, (1 channel every microsecond), wouldload a value of 9 to this register, (0x0009). Clock rate=N+1 (100 ns),where N=value of this register. A value of zero is illegal and willproduce undetermined results.

Processor Interface

The Processor interface accepts decodes from the local decoder pertinentto this module of the design. This interface is based on the output ofthe local decoder module. When the local processor is making an access,the local decoder sends the appropriate decode signals to thisinterface. The following signals are pertinent to the update/access tothe following blocks of this module:

1. Clock Divider Register

2. Acquisition Control Register, (described earlier).

3. Scan RAM

4. Processor MUX Address.

5. Wake Up Count Register

6. Memory Threshold Register

7. DMA Count Register.

8. A2D Data Path

9. A2D FIFO Path

10. SPI Data Path/Control

A2D SPI interface

The A2D SPI interface is for the purpose of all local processor to A2Dprotocol conversion and control. The A2D is an SPI based device that hasa 16 bit transfer in either direction. There is a state machine tohandle both sides of this interface. On one side of the state machine isthe local processor. The local processor sets appropriate bits to thestate machine for high level control, and for data writes and datareads. On the other side of the state machine is the A2D Converter SPIInterface. This part of the interface, (acquisition control andtranslation), is also fed by the Base Time Acquisition clock, (adc_clk),that is a direct derivative of the Programmable Clock Divider describedabove. Once the local processor asserts the holter_run bit, everyadc_clk starts another conversion from the channel addressed from theScan RAM. This can be confusing due to the fact that the Scan RAM bothproduces addresses and accepts them for look-up. The address in thisdiscussion is the output of the Scan RAM. This is done with a multiple,(8 state), state machine.

IDLE: This is the state entered after a power up, a reset, or acompletion of a conversion. While in this state, the state machine islooking at the holter_run bit. This bit is set on the next leading edgeof a conversion clock, (adc_clk). At this time the SPI data out pin ofthe FPGA is driven high to do the CS mode of operation, this forces thebusy bit active mode. The state machine then transitions to START_CNV.

START_CNV: During this state the adc_cnv clock is asserted. Thisinstructs the A2D converter to convert the analog value presented at itsinput. There are 16 data bits in conversion transfer. The lower 16 bitsare converted data and the 17th bit, (busy) is the MSB of the serialchain. Then the next state BUSY_W8 is entered.

BUSY_W8: Upon entering this state, the state machine waits for the dataout of the SPI, (SD0 from the ADC) to go to a zero state. This signifiesthe negation of the busy signal from the previous convert pulse,(ADC_CNV). Once this is detected, the state machine negates A2D_SDI, andasserts the SPI_CLK signal, shifting out the busy bit. The state machinethen transitions to the BUSY_SHIFT state.

BUSY_SHIFT: Upon entering this state, the state machine negates theSPI_CLK, and forms the trailing edge of the first SPI_CLK. There is onesystem clock skipped to allow for minimum pulse width of the ADC SPIinterface. After this delay, the state machine asserts the leading edgeof the next pulse. We then transition the BUSY_SHIFT1 state.

BUSY_SHIFT1: This state, when entered skips one machine clock to notviolate the minimum pulse width of the SPI_CLK. After this delay,SPI_CLK is negated and the state machine transitions to GET_DATA1.

GET_DATA1: This state, when entered again skips one machine clock toallow for setup time from the SPI_DATA pin, but at the same time negatesthe SPI_CLK. After this delay the internal shift count is incremented,and the data from the SPI is shifted into the LSB of the serial toparallel register, and at the same time, the MSB is shifted out to theSPI interface. The information shifted into the serial to parallelregister is a function of the command. If the command is a read command,the register specified in the command is accessed. If it is a writecommand, the command word is written right back into the serial toparallel register as a function of the SPI interface of the A2Dconverter. On this same clock edge, the SPI_CLK is again asserted, andthe transition to GET_DATA2 takes place.

GET_DATA2: Upon entering this state, the SPI_CLK is negated. On the sameclock edge, the shift count is checked for 16. If the result is false,the state machine transitions back to GET_DATA1. If the count is 16, theload a2d fifo signal is activated, (LD_A2D_FIFO). This causes a shift ofthe parallel word just captured, and the state machine transitions toTERMINATE1.

TERMINATE1: This state negates the SPI_CLK signal and jumps to the IDLEstate.

Algorithm Specifications

This section shall define the functional requirements of the system andsub-system of controller algorithm 20A.

Sinus Pause:

A sinus pause will be documented whenever a predetermined period of timeelapses without a QRS complex of any morphology. This algorithm will notdiscriminate between a Sinus Pause and Sinus Block as this intervaltimer will be based on R-Wave to R-Wave intervals. The programmable timeperiod for a Sinus Pause is 1.5, 2.0, 2.5, 3.0, 3.5 or 4.0 seconds, with2.0 seconds being the factory default setting. The detection of SinusPause can be turned on or off without affecting any of the otherarrhythmia settings.

Bradycardia:

Bradycardia occurs when the patient's heart rate goes below a presetlimit. The heart rate for calculating Bradycardia is based on a 6-beatrolling average, a 10-beat rolling average or a 16-beat rolling averagethat can be selected in the configuration software. The factory defaultsetting is a 10-beat rolling average. The programmable heart ratesettings for Bradycardia are 30, 35, 40, 45, 50, 55, 60, 65 and 70 beatsper minute (BPM) with 40 BPM being the factory default setting. Thedetection of Bradycardia can be turned on and off without affecting anyof the other arrhythmia configuration settings.

Bradycardia Time Offset:

Bradycardia within a patient can often go below the preset limit whensleeping. In order to accommodate for this phenomena, the heart rate forcalculating Bradycardia can be lowered by 5, 10, 15, 20 beats per minute(BPM) with 10 BPM being the factory default. The selection for windowset in Bradycardia will be utilized for this setting. The BradycardiaTime Offset can be turned on and off without affecting any of the otherarrhythmia configuration settings and is OFF by default.

Tachycardia:

Tachycardia occurs when the patient's heart rate goes above a presetlimit or in the event of 3 or more sequential Ventricular beats. Theheart rate for calculating Tachycardia is based on a 6-beat rollingaverage, a 10-beat rolling average or a 16-beat rolling average that canbe selected in the configuration software. The factory default settingis a 10-beat rolling average. The algorithm will calculate the rate forboth Normal and Ventricular beat such that it will detect SinusTachycardia, Supraventricular Tachycardia and Ventricular Tachycardia.The programmable heart rate settings for Tachycardia are 70, 75, 80, 85,90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160,165, 170, 175, 180, 185, 190, 195, and 200 beats per minute (BPM) with100 BPM being the factory default setting. The detection of Tachycardiacan be turned on and off without affecting any of the other arrhythmiaconfiguration settings.

Atrial Fibrillation:

The AFib detection algorithm uses a probability density function (PDF)method based on a reconstructed attractor of R-R intervals. Byconstructing the PDF of distance between two points in the reconstructedphase space of R-R intervals of normal sinus rhythm (NSR) and atrialfibrillation (AF), the distributions of PDF of NSR and AF R-R intervalshave significant differences. By taking advantage of their differences,a characteristic quantity parameter kn, which represents the sum of npoints slope in filtered PDF curve, is used to detect both NSR and AFR-R intervals. AFib detection is based on dynamically created PDFs andis not dependent on reference PDFs from known published databases fromMIT-BIH, AHA, etc. Those databases were, however, used in preliminaryalgorithm development to determine the optimal embedding dimension m,the characteristic quantity Kn, and the slope number used by thealgorithm for optimal performance as described below.

Stage 10 consists of Phase Space Reconstruction. The R-R interval isjust one observable variable from the multi-variable cardiac system.According to Takens' embedding theorem, the state of a dynamic systemcan be represented in a reconstructed phase space by time delayembedding. Taken's theorem guarantees that the dynamic characteristicsof the real physiological) and the reconstructed system are the same.Therefore, it is possible to reconstruct the phase space of the originalcardiac system from the R-R intervals while preserving the systemdynamics. If x(i) is an element of the R-R intervals vector X, then areconstructed vector Yi is introduced as

Yi=[x(i),x(i+τ), . . . ,x(i+(m−1)τ)]  (Equation 1)

where τ is the time delay and m is the embedding dimension. Thereconstructed vector Yi represents a point in the m-dimensional phasespace. By reconstructing the R-R intervals and investigating thestructure of the reconstructed attractor, it is possible to provide moreinformation and new diagnostic potential of the analyzed cardiac system.The phase space reconstruction consists of 5 dimensions (embeddingdimension m=5) based on a 40 beat window ([40,5] phase-space array) to a100 beat window ([100,5] phase space array). A 40-beat windows givesspeed the priority (real-time application) where moving towards a100-beat window gives accuracy the priority (real-time application withDSP assist or PC-based system).

Stage 11 constructs the Probability density function. The basic ideabehind the PDF method is to construct the correlation function C(r, m,τ). C(r, m, τ) describes the probability that the distance betweenarbitrary two points Yi and Yj in the phase space is shorter thandistance r. C(r, m, τ) can be written as

C(r,m,τ)=2/(N(N−1))Σ_(i=1)̂(N−1)Σ_(j=i+1)̂N

θ(r−∥Y _(—) i−Y _(—) j∥

  (Equation 2)

where N is the number of phase space points, symbol ∥•∥ represents theEuclidean distance, and θ(x) is the Heaviside unit-step function whichis defined by

θ(z)={1Z≧0}{0Z<0}  (Equation 3)

Equations (1)-(3) are essential steps of the Grassberger and Procaccia(GP) method to calculate the correlation dimension. The determination ofthe correlation dimension from R-R intervals are commonly used forgaining information about the nature of the underlying cardiac dynamics.Since the correlation function C(r, m, τ) has a maximum of 1, minimum of0 and is a continuous distribution function, we define the probabilitydensity function as

p(r,m,τ)=dC(r,m,τ)/dr

The PDF is now used for the analysis of the reconstructed attractorstructure. A low pass filter (IIR Butterworth type, eight orders withcutoff frequency 1.5 Hz) is used to filter the high frequencyfluctuating components of the PDF curves. After low pass filtering, PDFcurves of short-time R-R intervals have a near Gaussian distribution.

Stage 12 calculates the Characteristic Quantity kn from the ReceiverOperating Curve (ROC). rmin, rtop and rmax are defined as the abscissasof the starting point, the peak and the ending point of the filtered PDFcurves, respectively. The values of rmin, rtop and rmax of NSR R-Rintervals are smaller than those of AF R-R intervals. This is due to thefact that the neighboring NSR R-R intervals are more correlated, sopoints in the reconstructed phase space are more concentrated; whereasthe neighboring AF R-R intervals are less correlated, so points in thereconstructed phase space are more dispersed. However, rmin, rtop andrmax are not good indexes for differentiating AF from NSR. Therefore,the slope information of the filtered PDF curves is used to improve thedetection precision

k _(—) n=[PDF]_filtered/r_max(n)×100

rrmax is divided evenly into 100 segments and d is the length of eachsegment. PDFfiltered (n) is the value of the nth point in the filteredPDF curve. Naturally, the 0th point in the filtered PDF curve is 0.Therefore, kn denotes the sum of the slope of n points in the filteredPDF curve. The characteristic quantity kn fully takes advantage of thefollowing characteristics of filtered PDF curves:(1) most of the values of rmax of AF are bigger than those of NSR;(2) most of the values of rtop of AF are bigger than those of NSR, whichmeans filtered PDF curves of NSR rise much faster than those of AF;(3) most of the values of rmin of AF are bigger than those of NSR, i.e.,among the n points slope, AF has more small slope than NSR. All thesecharacteristics make the value of kn of NSR bigger than that of AF aslong as n is carefully selected.Stage 13 uses Kn to determine whether the PDF represents values of NSRor AFib. If a 40 beat window is used then the number of points used todetermine the slope is 20 and a threshold of 210 for Kn is used todetermine whether the PDF value is characteristic of AFib of NSR. If a100 beat window is used, the number of the slope points n is 10 and 78is used for the threshold of Kn. The same concept applies to 60 and 80beat windows.

Thus, while the preferred embodiments of the devices and methods havebeen described in reference to the environment in which they weredeveloped, they are merely illustrative of the principles of theinventions. Other embodiments and configurations may be devised withoutdeparting from the spirit of the inventions and the scope of theappended claims.

1. A remote ambulatory cardiac monitoring system comprising:microprocessor for controlling interactions with external devices; ahardware gate array for controlling acquisition of ECG signals and otherdata and analysis of data as it is acquired; a cable connector operablyconnected to the microprocessor for engaging a plurality of differentinput/output cables, insertion of each of the plurality of input/outputcables causes the microprocessor to initiate one of a plurality ofdifferent modes from the remote ambulatory cardiac monitoring system; aplurality of electrodes secured to a patient, each electrode operablyconnected to at least one of the plurality of input/output cables forsensing ECG signals from a patient; and means for quantifying resistancechanges between each of the one or more of the plurality of electrodesand the patient during acquisition of the ECG signals.
 2. The apparatusof claim 1 wherein the mode initiated by the connection of one of theplurality of different input/output cables is selected from the group ofmodes including: 12-lead EKG mode, Holter recorder mode, MCT mode, andUSB data transfer mode.
 3. The apparatus of claim 1 wherein the modeinitiated by the connection of one of the plurality of differentinput/output cables is MCT mode.
 4. The apparatus of claim 1 wherein themode initiated by the connection of one of the plurality of differentinput/output cables is selected from the group of modes including:12-lead EKG mode and Holter recorder mode.
 5. The apparatus of claim 1wherein the means for quantifying resistance changes is operable todetect when one or more of the plurality of electrodes is not secured tothe patient and upon detection of one or more electrodes not secured,the means for quantifying resistance changes initiates an alarm signal.6. The apparatus of claim 1 further comprising: means for cross checkingalarm triggers before initiating an alarm using one or more alternatedata channels, where the one or more alternate data channels did notinitiate the alarm trigger.
 7. A mobile cardiac telemetry systemcomprising: microprocessor for controlling interactions with externaldevices; a hardware gate array for controlling acquisition and analysisof ECG signals and other data; a cable connector operably connected tothe microprocessor for engaging a plurality of different input/outputcables, insertion of each of the plurality of input/output cables causesthe microprocessor to initiate one of a plurality of different modesfrom the remote ambulatory cardiac monitoring system; no more than threeelectrodes secured to a patient, each of the electrodes operablyconnected to one of the plurality of input/output cables for sensing ECGsignals from a patient; means for quantifying resistance changes betweenone or more of the electrodes and the patient during data acquisition;and means for sequentially processing ECG signals from the electrodes togenerate six channels of data and a noise cancellation signal to feedback to the electrodes.